package seckill.dao;

import org.apache.ibatis.annotations.Param;
import seckill.entity.Seckill;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface SeckillDao
{
    //减库存
    //返回值 如果影响行数>1 表示更新的记录行数
    int reduceNumber(@Param("seckillId") long seckillId, @Param("killTime") Date killTime);

    //根据ID查找秒杀模块
    Seckill queryById(long seckillId);

    //根据偏移量查询秒杀商品列表
    //当有多个参数时 用注解Param的方式告诉mybatis的形参位置
    List<Seckill> queryAll(@Param("offset") int offset, @Param("limit") int limit);

    //使用存储过程执行秒杀

    void killByProcedure(Map<String,Object> paramMap);
}
